# 内核源码路径（自动适配当前运行内核）
KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build

# backport框架路径
BACKPORT_DIR := $(shell pwd)/backport
#BACKPORT_DIR := /home/naura/backport-mxl_phy/backport  # 必须是绝对路径，不能用相对路径


# 要编译的模块
obj-m += mxl-phy.o
mxl-phy-y += backport-5.3.18.o  # 模块依赖的源文件


LINUXINCLUDE := \
	-I$(KBUILD_EXTMOD)/backport/include \
	$(LINUXINCLUDE)

# 编译选项
#KBUILD_CFLAGS += -I/home/naura/gpy211/backport/include  # 优先于系统路径
KBUILD_CFLAGS += -DBACKPORT_DRIVER -Wall -Wextra

# 编译目标（关键：通过-C进入内核源码目录，M指定模块源码目录）
all:
	$(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules

# 清理目标
clean:
	$(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean
	rm -f *.symvers *.mod.c .*.cmd Module.symvers modules.order

# 安装目标
install:
	$(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules_install
	depmod -a $(shell uname -r)
